package com.shiyi.shiyiaiagent.rag;

import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
import com.alibaba.cloud.ai.dashscope.rag.DashScopeDocumentRetriever;
import com.alibaba.cloud.ai.dashscope.rag.DashScopeDocumentRetrieverOptions;
import org.springframework.ai.chat.client.advisor.RetrievalAugmentationAdvisor;
import org.springframework.ai.chat.client.advisor.api.Advisor;
import org.springframework.ai.document.DocumentReader;
import org.springframework.ai.document.DocumentTransformer;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 基于云知识库的向量数据库配置
 */
@Configuration
class LoveAppRagCloudAdvisorConfig {

  @Value("${spring.ai.dashscope.api-key}")
  private String dashScopeApiKey;

  @Bean
  public Advisor loveAppRagCloudAdvisor(){
    DashScopeApi dashScopeApi = new DashScopeApi(dashScopeApiKey);

    final String KNOWLEDGE_INDEX  = "恋爱大师";

    DashScopeDocumentRetriever dashScopeDocumentRetriever = new DashScopeDocumentRetriever(dashScopeApi,
      DashScopeDocumentRetrieverOptions.builder().withIndexName(KNOWLEDGE_INDEX).build());
    return RetrievalAugmentationAdvisor.builder().documentRetriever(dashScopeDocumentRetriever).build();
  }
}
